popover: Improve the move-focus fix
authorMatthias Clasen <mclasen@redhat.com>
Thu, 13 Jun 2019 00:11:32 +0000 (00:11 +0000)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 13 Jun 2019 01:50:29 +0000 (21:50 -0400)
Avoid breaking menubar keynav (we still
need the focus change to be propagated
down from the root).

gtk/gtkpopover.c

index d4d2470ef6683fad4d090ba4939f569e40ad1626..7ac8b7b4bfd7d7ef2ccbb470e884ee2a26ffc18e 100644 (file)
@@ -639,12 +639,9 @@ gtk_popover_unrealize (GtkWidget *widget)
 
 static void
 gtk_popover_move_focus (GtkWidget        *widget,
-                        GtkDirectionType  dir)
+                        GtkDirectionType  direction)
 {
-  gtk_widget_child_focus (widget, dir);
-
-  if (!gtk_widget_get_focus_child (widget))
-    gtk_root_set_focus (GTK_ROOT (widget), NULL);
+  g_signal_emit_by_name (gtk_widget_get_root (widget), "move-focus", direction);
 }
 
 static void